package dao;

import java.io.Serializable;
import java.util.List;

public interface IBaseDAO<T, PK extends Serializable> {

	void add(T entity);

	void delete(T entity);

	void delete(PK pk);

	void update(T entity);

	void executeSql(String sql);

	T getById(PK pk);

	List<T> getByField(String field, String value);

	List<T> getViaHql(String hql);

	List<T> getViaSql(String sql);

	List<T> getAll();

}
